#include "mos.h"

void MOS_Init()
{
    P_MOS = 0; //初始化后MOS管保持关闭
    P5_DRIVE_HIGH(GPIO_Pin_4);  //增大电流
    P5_SPEED_HIGH(GPIO_Pin_4);  //提高速率
    P5_MODE_OUT_PP(GPIO_Pin_4);
    P5_DIGIT_IN_DISABLE(GPIO_Pin_4);

    PCA_InitTypeDef PCAx;
    PCAx.PCA_Clock = PCA_Clock_1T | PCA_ECCF;
    PCAx.PCA_PWM_Wide = PCA_PWM_8bit;
    PCAx.PCA_Value = 255;  //255为MOS关闭
    PCAx.PCA_RUN = ENABLE;
    PCA_Init(PCA_MOS, &PCAx);
    CCAPM2 = PCA_Mode_PWM;
    PCA_Polity(Polity_1);
    PCA_Init(PCA_Counter, &PCAx);
}

uint8_t SetPower(int16_t pwr)
{
    if(pwr<0 || pwr>255){
        return 1;
    }else{
        PWM_MOS = 255-pwr;
        return 0;
    }
}